
// 时间格式处理
function datetimeparse(timestamp, format, prefix) {
	if (typeof timestamp == 'string') {
		timestamp = Number(timestamp)
	};
	//转换时区
	let currentZoneTime = new Date(timestamp);
	let currentTimestamp = currentZoneTime.getTime();
	let offsetZone = currentZoneTime.getTimezoneOffset() / 60; //如果offsetZone>0是西区，西区晚
	let offset = null;
	//客户端时间与服务器时间保持一致，固定北京时间东八区。
	offset = offsetZone + 8;
	currentTimestamp = currentTimestamp + offset * 3600 * 1000

	let newtimestamp = null;
	if (currentTimestamp) {
		if (currentTimestamp.toString().length === 13) {
			newtimestamp = currentTimestamp.toString()
		} else if (currentTimestamp.toString().length === 10) {
			newtimestamp = currentTimestamp + '000'
		} else {
			newtimestamp = null
		}
	} else {
		newtimestamp = null
	}
	let dateobj = newtimestamp ? new Date(parseInt(newtimestamp)) : new Date()
	let YYYY = dateobj.getFullYear()
	let MM = dateobj.getMonth() > 8 ? dateobj.getMonth() + 1 : '0' + (dateobj.getMonth() + 1)
	let DD = dateobj.getDate() > 9 ? dateobj.getDate() : '0' + dateobj.getDate()
	let HH = dateobj.getHours() > 9 ? dateobj.getHours() : '0' + dateobj.getHours()
	let mm = dateobj.getMinutes() > 9 ? dateobj.getMinutes() : '0' + dateobj.getMinutes()
	let ss = dateobj.getSeconds() > 9 ? dateobj.getSeconds() : '0' + dateobj.getSeconds()
	let output = '';
	let separator = '/'
	if (format) {
		separator = format.match(/-/) ? '-' : '/'
		output += format.match(/yy/i) ? YYYY : ''
		output += format.match(/MM/) ? (output.length ? separator : '') + MM : ''
		output += format.match(/dd/i) ? (output.length ? separator : '') + DD : ''
		output += format.match(/hh/i) ? (output.length ? ' ' : '') + HH : ''
		output += format.match(/mm/) ? (output.length ? ':' : '') + mm : ''
		output += format.match(/ss/i) ? (output.length ? ':' : '') + ss : ''
	} else {
		output += YYYY + separator + MM + separator + DD
	}
	output = prefix ? (prefix + output) : output
	return newtimestamp ? output : ''
}

//获取时间区间平铺日期
export function tileDate(begin, end) {
	let arr1_ = new Date(begin);
	let arrTime = [];
	let arr2_ = new Date(end);
	let unixDb = arr1_.getTime();
	let unixDe = arr2_.getTime();
	for (let k = unixDb; k <= unixDe;) {
		arrTime.push(datetimeparse(k, 'yyyy-MM-dd'));
		k = k + 24 * 60 * 60 * 1000;
	}
	return arrTime;
}

  
 //获取两日期之间日期列表函数
 export  function getdiffdate(stime,etime){
     var diffdate = new Array();
     var i=0;
	 function supplement(str){
		 return str.split('-').map(v=>v.padStart(2,0)).join('-')
	 }
	 stime = supplement(stime)
	 etime = supplement(etime)
     while(stime<=etime){
         diffdate[i] = stime;
         var stime_ts = new Date(stime).getTime();
         var next_date = stime_ts + (24*60*60*1000);
         var next_dates_y = new Date(next_date).getFullYear()+'-';
         var next_dates_m = (new Date(next_date).getMonth()+1 < 10)?'0'+(new Date(next_date).getMonth()+1)+'-':(new Date(next_date).getMonth()+1)+'-';
         var next_dates_d = (new Date(next_date).getDate() < 10)?'0'+new Date(next_date).getDate():new Date(next_date).getDate();
         stime = next_dates_y+next_dates_m+next_dates_d;
         i++;
     }
     return (diffdate);
 }

